//
//  QPerfectOrderMoneyCell.m
//  QoilPublic
//
//  Created by 杨凯 on 2017/7/19.
//  Copyright © 2017年 杨凯. All rights reserved.
//

#import "QPerfectOrderMoneyCell.h"
@interface QPerfectOrderMoneyCell ()
@property (weak, nonatomic) IBOutlet UILabel *moneyLab;
@property (weak, nonatomic) IBOutlet UILabel *Llabel;

@end
@implementation QPerfectOrderMoneyCell

- (void)awakeFromNib {
    [super awakeFromNib];
    // Initialization code
}

- (void)setAvailableBalanceStr:(NSString *)availableBalanceStr{
    _availableBalanceStr = availableBalanceStr;
    float num = [_availableBalanceStr floatValue];
    [self setNumberTextOfLabel:_moneyLab WithAnimationForValueContent:num];
//    _moneyLab.text = [NSString stringWithFormat:@"￥%@",_availableBalanceStr];
}

- (void)setPriceStr:(NSString *)priceStr{
    _priceStr = priceStr;
    float num = [_availableBalanceStr floatValue]/[_priceStr floatValue];
     [self setNumberTextOfLabel:_Llabel WithAnimationForValueContent:num];
//    _Llabel.text = [NSString stringWithFormat:@"%.2f升",[_availableBalanceStr floatValue]/[_priceStr floatValue]];
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}
#pragma mark --- 余额显示的动画----
- (void)setNumberTextOfLabel:(UILabel *)label WithAnimationForValueContent:(CGFloat)value
{
    CGFloat lastValue = [label.text floatValue];
    CGFloat delta = value - lastValue;
    if (delta == 0) {
        return;
    }
    
    if (delta > 0) {
        
        CGFloat ratio = value / 30.0;
        
        NSDictionary *userInfo = @{@"label" : label,
                                   @"value" : @(value),
                                   @"ratio" : @(ratio)
                                   };
        NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(setupLabel:) userInfo:userInfo repeats:YES];
        [[NSRunLoop currentRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
    }
}

- (void)setupLabel:(NSTimer *)timer
{
    NSDictionary *userInfo = timer.userInfo;
    UILabel *label = userInfo[@"label"];
    CGFloat value = [userInfo[@"value"] floatValue];
    CGFloat ratio = [userInfo[@"ratio"] floatValue];
    
    static int flag = 1;
    CGFloat lastValue = [label.text floatValue];
    CGFloat randomDelta = (arc4random_uniform(2) + 1) * ratio;
    CGFloat resValue = lastValue + randomDelta;
    
    if ((resValue >= value) || (flag == 50)) {
        label.text = [NSString stringWithFormat:@"¥%.2f", value];
        flag = 1;
        [timer invalidate];
        timer = nil;
        return;
    } else {
        label.text = [NSString stringWithFormat:@"%.2f", resValue];
    }
    flag++;
}
@end
